package view.alumnos;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JTextField;

import model.comunication.IAlumno;

import com.toedter.calendar.JDateChooser;

public class CrearAlumno {

	private JDialog dialogAltaAlumno;
	private JTextField campoNombre;
	private JTextField campoApellido;
	private JTextField campoMail;
	private JTextField campoTelefono;
	private JLabel mensajeError;
	private IAlumno cmmAlumno;
	private Integer alumno;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CrearAlumno window = new CrearAlumno();
					window.dialogAltaAlumno.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public CrearAlumno() {
		cmmAlumno = IAlumno.getInstance();
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		dialogAltaAlumno = new JDialog();
		dialogAltaAlumno.setModal(true);
		dialogAltaAlumno.setResizable(false);
		dialogAltaAlumno.setIconImage(Toolkit.getDefaultToolkit().getImage(CrearAlumno.class.getResource("/Icon_/user_32.png")));
		dialogAltaAlumno.setTitle("Alta Alumno");
		dialogAltaAlumno.getContentPane().setForeground(Color.RED);
		dialogAltaAlumno.setBounds(100, 100, 476, 343);
		dialogAltaAlumno.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		dialogAltaAlumno.getContentPane().setLayout(null);

		JLabel lblAltaDeAlumno = new JLabel("Alta de Alumno");
		lblAltaDeAlumno.setFont(new Font("Tahoma", Font.BOLD, 15));
		lblAltaDeAlumno.setBounds(85, 11, 168, 32);
		dialogAltaAlumno.getContentPane().add(lblAltaDeAlumno);

		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblNombre.setBounds(12, 54, 91, 14);
		dialogAltaAlumno.getContentPane().add(lblNombre);

		JLabel lblApellido = new JLabel("Apellido:");
		lblApellido.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblApellido.setBounds(12, 89, 91, 14);
		dialogAltaAlumno.getContentPane().add(lblApellido);

		JLabel lblEmail = new JLabel("E-mail:");
		lblEmail.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblEmail.setBounds(12, 124, 91, 14);
		dialogAltaAlumno.getContentPane().add(lblEmail);

		JLabel lblTelefono = new JLabel("Telefono:");
		lblTelefono.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblTelefono.setBounds(12, 160, 91, 14);
		dialogAltaAlumno.getContentPane().add(lblTelefono);

		JLabel lblNacimiento = new JLabel("Nacimiento:");
		lblNacimiento.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblNacimiento.setBounds(12, 199, 91, 14);
		dialogAltaAlumno.getContentPane().add(lblNacimiento);

		campoNombre = new JTextField();
		campoNombre.setBounds(111, 51, 189, 20);
		dialogAltaAlumno.getContentPane().add(campoNombre);
		campoNombre.setColumns(10);

		campoApellido = new JTextField();
		campoApellido.setColumns(10);
		campoApellido.setBounds(111, 86, 189, 20);
		dialogAltaAlumno.getContentPane().add(campoApellido);

		campoMail = new JTextField();
		campoMail.setColumns(10);
		campoMail.setBounds(111, 121, 189, 20);
		dialogAltaAlumno.getContentPane().add(campoMail);

		campoTelefono = new JTextField();
		campoTelefono.setColumns(10);
		campoTelefono.setBounds(111, 157, 189, 20);
		dialogAltaAlumno.getContentPane().add(campoTelefono);

		final JDateChooser campoNacimiento = new JDateChooser();
		campoNacimiento.setBounds(111, 193, 189, 20);
		dialogAltaAlumno.getContentPane().add(campoNacimiento);

		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.setFont(new Font("Tahoma", Font.BOLD, 11));
		btnCancelar.setIcon(new ImageIcon(CrearAlumno.class.getResource("/Icon_/Erase.gif")));
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dialogAltaAlumno.dispose();
			}
		});
		btnCancelar.setBounds(253, 258, 125, 35);
		dialogAltaAlumno.getContentPane().add(btnCancelar);

		mensajeError = new JLabel("Existen campos obligatorios sin completar");
		mensajeError.setFont(new Font("Tahoma", Font.PLAIN, 13));
		mensajeError.setVisible(false);
		mensajeError.setForeground(Color.RED);
		mensajeError.setBounds(12, 230, 293, 14);
		dialogAltaAlumno.getContentPane().add(mensajeError);

		JButton btnGuardar = new JButton("Guardar");
		btnGuardar.setFont(new Font("Tahoma", Font.BOLD, 11));
		btnGuardar.setIcon(new ImageIcon(CrearAlumno.class.getResource("/Icon_/tick_32.png")));
		btnGuardar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				if (campoNombre.getText().equals("")) {
					mensajeError.setVisible(true);
				}
				if (campoApellido.getText().equals("")) {
					mensajeError.setVisible(true);
				}
				if (campoTelefono.getText().equals("")) {
					mensajeError.setVisible(true);
				}
				if (campoMail.getText().equals("")) {
					mensajeError.setVisible(true);
				} else {
					alumno = cmmAlumno.addAlumno(cmmAlumno.getAlumno(campoNombre.getText(), campoApellido.getText(), campoMail.getText(), campoTelefono.getText(), null, Calendar.getInstance(), null));
					dialogAltaAlumno.setVisible(false);
				}
			}
		});
		btnGuardar.setBounds(85, 258, 125, 35);
		dialogAltaAlumno.getContentPane().add(btnGuardar);

		JLabel label = new JLabel("*");
		label.setForeground(Color.RED);
		label.setBounds(95, 54, 12, 14);
		dialogAltaAlumno.getContentPane().add(label);

		JLabel label_1 = new JLabel("*");
		label_1.setForeground(Color.RED);
		label_1.setBounds(95, 89, 12, 14);
		dialogAltaAlumno.getContentPane().add(label_1);

		JLabel label_2 = new JLabel("*");
		label_2.setForeground(Color.RED);
		label_2.setBounds(95, 124, 12, 14);
		dialogAltaAlumno.getContentPane().add(label_2);

		JLabel label_3 = new JLabel("*");
		label_3.setForeground(Color.RED);
		label_3.setBounds(95, 160, 12, 14);
		dialogAltaAlumno.getContentPane().add(label_3);

		JLabel label_4 = new JLabel("");
		label_4.setIcon(new ImageIcon(CrearAlumno.class.getResource("/Icon_/User_128.png")));
		label_4.setBounds(323, 56, 111, 144);
		dialogAltaAlumno.getContentPane().add(label_4);
		dialogAltaAlumno.setVisible(true);
	}

	public Integer getAlumno() {
		return alumno;
	}
}
